安静の博客

为 Cockpit 启用双因素认证(2FA)

Created on Updated on


Cockpit 是一个由红帽赞助并主导开发的轻量级 Linux 服务器图形化管理工具,可通过浏览器访问,用于在网页上完成系统状态监控与各项实用配置。

默认情况下,Cockpit 支持通过用户名和密码登录。进入管理后台后,可以轻松触及文件系统、防火墙、容器、SELinux 等关键管理功能。

这虽然带来了便利,但也存在安全隐患。

事实上,可以通过为 Cockpit 启用 双因素认证 来提升安全性。

以 Red Hat Enterprise Linux 10 为例,操作步骤如下:

  1. 首先,安装双因素认证应用。本文方案选择 Google Authenticator

    sudo dnf install google-authenticator -y
    
  2. 执行 google-authenticator 以启动配置:

    cockpit-2fa-100.jpeg

  3. 使用移动设备上的双因素认证应用扫描该二维码并输入验证码,随后根据提示完成设置流程;

  4. 接下来,配置 Cockpit 以启用双因素认证。编辑以下文件:

    sudo vim /etc/pam.d/cockpit
    
  5. 在文件末尾添加一行:

    auth required pam_google_authenticator.so nullok
    
  6. 保存文件并退出编辑器,然后重启 Cockpit 使配置生效。

    sudo systemctl restart cockpit
    
  7. 重新打开 Cockpit 登录页面,输入用户名和密码,随后输入双因素认证代码即可完成登录。

    cockpit-2fa-200.png

  8. 另外,如果将 Cockpit 置于反向代理之后,需要编辑 /etc/cockpit/cockpit.conf 文件:

    [WebService]
    Origins = https://cockpit.example.com wss://cockpit.example.com https://192.168.1.10:9090
    ProtocolHeader = X-Forwarded-Proto
    

    随后,重启 Cockpit 使配置生效:

    sudo systemctl restart cockpit
    

参考链接: